// 对于非负整数 X 而言，X 的数组形式是每位数字按从左到右的顺序形成的数组。
// 例如，如果 X = 1231，那么其数组形式为 [1,2,3,1]。
// 给定非负整数 X 的数组形式 A，返回整数 X+K 的数组形式。

// 示例 1：
// 输入：A = [1,2,0,0], K = 34
// 输出：[1,2,3,4]
// 解释：1200 + 34 = 1234

// 解释 2：
// 输入：A = [2,7,4], K = 181
// 输出：[4,5,5]
// 解释：274 + 181 = 455

// 示例 3：王芯芯
// 输入：A = [2,1,5], K = 806
// 输出：[1,0,2,1]
// 解释：215 + 806 = 1021

// 示例 4：
// 输入：A = [9,9,9,9,9,9,9,9,9,9], K = 1
// 输出：[1,0,0,0,0,0,0,0,0,0,0]
// 解释：9999999999 + 1 = 10000000000

// 提示：
//     1 <= A.length <= 10000
//     0 <= A[i] <= 9
//     0 <= K <= 10000
//     如果 A.length > 1，那么 A[0] != 0

var addToArrayForm = function(A, K) {
	// 不能用这个方法，数可能超过Number.MAX_VALUE
    // let a = parseInt(A.join("")) + K;
    // a = a.toString().split("");
    // return a;
    let res = []
    let len = A.length - 1;
    let cur = K;
    let flag = false;
    while(len >= 0 || cur > 0) {
        if (len >= 0) {
            cur += A[len];
        }
        
        res.push(cur % 10);
        cur = Math.floor(cur / 10);
        len--;
    }

    return res.reverse();
};
console.log(addToArrayForm([0], 23));

